package modelo;

import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.Iterator;
import java.util.Vector;


public class NegocioRestaurant extends UnicastRemoteObject implements
		InterfazRemota {

	private Vector<Producto> productos;
	private Vector<Mesa> mesas;
	private Vector<Mozo> mozos;
	private Vector<Producto> pedidos;
	
	public NegocioRestaurant() throws RemoteException {
		super();
		productos=new Vector<Producto>();
		mesas=new Vector<Mesa>();
		mozos=new Vector<Mozo>();
		pedidos=new Vector<Producto>();
		// TODO Auto-generated constructor stub
	}

	

	// Se implementan los metodos que estan en la interfaz remota y se
	// usan los DTO para llamar a los metodos del negocio en el servidor

	@Override
	public void abrirMesa(MesaDTO mesaDTO) throws RemoteException {
		// TODO Auto-generated method stub
		Mesa mesaReal = new Mesa();
		mesaReal = Mesa.crearMesa(mesaDTO);
		mesaReal.abrirMesa();
	}

	@Override
	public void cerrarMesa(MesaDTO mesa) throws RemoteException {
		// TODO Auto-generated method stub
		Mesa mesaReal = new Mesa();
		mesaReal = Mesa.crearMesa(mesa);
		mesaReal.setAbierta(false);

	}

	@Override
	public void agregarMozo(MozoDTO mozoDTO) throws RemoteException {
		// TODO Auto-generated method stub
		Mozo mozo = new Mozo();
		mozo = Mozo.crearMozo(mozoDTO);
		this.mozos.add(mozo);
	}

	@Override
	public void agregarMesa(MesaDTO mesaDTO) throws RemoteException {
		// TODO Auto-generated method stub
		Mesa mesa = new Mesa();
		mesa = Mesa.crearMesa(mesaDTO);
		this.mesas.add(mesa);

	}

	@Override
	public void agregarProducto(ProductoDTO productoDTO) throws RemoteException {
		// TODO Auto-generated method stub
		Producto producto = new Producto();
		producto = Producto.crearProducto(productoDTO);
		this.productos.add(producto);
	}

	@Override
	public void agregarPlato(MesaDTO mesaDTO, ProductoDTO productoDTO)
			throws RemoteException {
		// TODO Auto-generated method stub
		Mesa mesa = new Mesa();
		mesa = Mesa.crearMesa(mesaDTO);
		Producto producto = new Producto();
		producto = Producto.crearProducto(productoDTO);
		mesa.agregarPlato(mesa, mesas, producto);
		this.pedidos.add(producto);

	}

	public Vector<Producto> getPedidosTotal() {
		return this.pedidos;
	}

}
